package com.jnpf.flow;

import lombok.Builder;
import lombok.Data;

import java.util.List;

/**
 * 消息模板类，用于定义消息发送的模板和参数
 */
@Data
@Builder
public class MsgTemplate {
    /**
     * 模板唯一标识
     */
    private String id;

    /**
     * 接收用户列表
     */
    private List<String> toUser;

    /**
     * 模板参数列表
     */
    private List<MsgTemplateParam> paramJson;

    /**
     * 消息模板名称
     */
    private String msgTemplateName;

    /**
     * 发送配置ID
     */
    private String sendConfigId;

    /**
     * 消息类型
     */
    private String messageType;

    /**
     * 模板ID
     */
    private String templateId;

    /**
     * 账户配置ID
     */
    private String accountConfigId;

    /**
     * 消息模板参数类，用于详细定义消息中的参数信息
     */
    @Data
    @Builder
    public static class MsgTemplateParam {
        /**
         * 字段名称
         */
        private String field;

        /**
         * 字段显示名称
         */
        private String fieldName;

        /**
         * 字段值
         */
        private String value;

        /**
         * 参数唯一标识
         */
        private String id;

        /**
         * 模板类型
         */
        private String templateType;

        /**
         * 模板代码
         */
        private String templateCode;

        /**
         * 模板ID
         */
        private String templateId;

        /**
         * 模板名称
         */
        private String templateName;
    }
}

